package com.ftf.tp.blog.application.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author tanghao
 * @date 2021/10/18
 */
@Data
public class ArticleVO implements Serializable{

    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 文章标题
     */
    private String articleTitle;

    /**
     * 文章摘要
     */
    private String articleAbstract;

    /**
     * 文章内容
     */
    private String articleContentMarkdown;

    /**
     * 文章封面
     */
    private String articleCover;

    /**
     * 文章作者id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long articleAuthorId;

    /**
     * 文章作者名
     */
    private String articleAuthorName;

    /**
     * 文章发布状态（1:公开，2:私密，3:仅粉丝可见)
     */
    private Boolean articlePublishStatus;

    /**
     * 文章类型 (0:原创，1:转载)
     */
    private Boolean articleType;

    /**
     * 文章状态 (10:草稿，20:笔记，30:审核中，40:发布 ,50:被举报，个位数为1时代表处于垃圾箱状态);
     */
    private Integer articleStatus;

    /**
     * 文章是否开启评论 (0:可评论，1:不可评论);
     */
    private Boolean commentStatus;

    /**
     * 逻辑删除
     */
    private Integer deleteStatus;

    /**
     * 乐观锁
     */
    private Integer revision;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新时间
     */
    private Date updatedTime;

    /**
     * 创建人
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long createdBy;

    /**
     * 更新人
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long updatedBy;

    /**
     * 点赞数
     */
    private Long supportAmount;

    /**
     * 收藏数
     */
    private Long collectionAmount;

    /**
     * 评论数
     */
    private Long commentAmount;

    /**
     * 热度
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long hotValue;

    private static final long serialVersionUID = 1L;

}
